Automated personalized identifier switching in view of closeness

ABSTRACT

Automated personalized identifier switching is provided for switching personalized identifiers for individuals and groups. For this purpose, a system includes: a computer readable memory, and a computer readable storage medium located in a computer; program instructions to store a plurality of identifiers of a user in a database, wherein each of the identifiers has a different closeness factor of the user than other identifiers of a same type stored in the database; program instructions to determine a closeness factor of a contact to a user; program instructions to match the determined closeness factor of the contact with an identifier having the same closeness factor stored in an database; and program instructions to transmit the matched identifier from the database to the contact for display as an identifier of the user.

BACKGROUND

The present invention generally relates to automated switching ofpersonalized identifiers for individuals and groups, and, moreparticularly, to automated switching of personalized identifiers bydetermining a closeness factor of a contact to a user and matching thedetermined closeness factor of the contact with an identifier having thesame closeness factor stored in a database which serves as an identifierlibrary.

In personal and social networks, it is common for a user to havemultiple contacts and to be associated with multiple different groups.Generally, the purposes of each contact and each group are differentfrom one another. For example, family groups are private and informal,whereas working groups are formal and professional. Other groups, suchas various clubs, sports organizations etc. are generally informal, butnot necessarily private. Individual users within different groups oftenhave different roles within the groups. If a user's identifier is publicand unique, all of the contacts and all of the members in a given groupcan view the same identifier for each individual user. Also, differentidentifiers are often appropriate for the different groups, for example,based on whether the group is private, public, formal or informal.

SUMMARY

In an aspect of the invention, there is a system comprising: aprocessor, a computer readable memory, and a computer readable storagemedium located in a personal assistant device; program instructions tostore a plurality of identifiers of a user in a database, wherein eachof the identifiers has a different closeness factor of the user thanother identifiers of a same type stored in the database; programinstructions to determine a closeness factor of a contact to a user;program instructions to match the determined closeness factor of thecontact with an identifier having the same closeness factor stored inthe database; and program instructions to transmit the matchedidentifier from the database to the contact to display as an identifierof the user, wherein the program instructions are stored on the computerreadable storage medium for execution by the processor via the computerreadable memory.

In another aspect of the invention, there is computer program product,comprising a computer readable storage medium having programinstructions embodied therewith, the program instructions executable bya computer device to cause the computer device to: determine a closenessfactor of a contact to a user; match the determined closeness factor ofthe contact with an identifier having the same closeness factor storedin a database comprised of a plurality of different types of identifiersof the user; and transmit the matched identifier from the database tothe contact to display as an identifier of the user, wherein at leasttwo of the plurality of identifiers in the database have differentcloseness factors from one another.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is described in the detailed description whichfollows, in reference to the noted plurality of drawings by way ofnon-limiting examples of exemplary embodiments of the present invention.

FIG. 1 depicts a cloud computing node according to an embodiment of thepresent invention.

FIG. 2 depicts a cloud computing environment according to an embodimentof the present invention.

FIG. 3 depicts abstraction model layers according to an embodiment ofthe present invention.

FIG. 4 shows a block diagram of an exemplary embodiment in accordancewith aspects of the invention.

FIG. 5 shows a table in a portion of a database serving as an identifierlibrary of an exemplary embodiment in accordance with aspects of theinvention

FIG. 6 shows a flowchart of operation of the identifier selection modulein accordance with aspects of the invention.

FIG. 7 shows a flowchart of operation of the exemplary embodiment inaccordance with aspects of the invention.

DETAILED DESCRIPTION

The present invention generally relates to automated switching ofpersonalized identifiers for individuals and groups, and, moreparticularly, to automated switching of personalized identifiers bydetermining a closeness factor of a contact to a user and matching thedetermined closeness factor of the contact with an identifier having thesame closeness factor stored in a database serving as an identifierlibrary.

Typically, in social networks, it is common for users to have multiplecontacts and belong to different groups, each comprised of a number ofcontacts. Because the purposes and the closeness of the personalrelationships of a user are different with regard to different contactsand different groups, it is generally not appropriate to use the sameidentifiers for the user with all of their contacts and in all of theirgroups. For example, in a social chat application, e.g., web chat, auser's personalized identifier, which might include pictures of theuser's family, is appropriate when the user is communicating with familymembers, relatives and close friends. On the other hand, that sameidentifier would not be appropriate for communicating with businesscontacts. In the latter situation, a more formal picture, as well as acompany logo, would be appropriate identifiers. Similarly, photos withappropriate clothing are often used with regard to a user's differentactivities, for example, a photo of the user in a sports uniform withregard to a sports club that the user is a member of.

Currently, it is not possible to switch different identifiersintelligently for a user so that an appropriate identifier is displayedsuitably across different contacts and different groups. Controllingaccess to rights to a user's profile allows some degree of control, butdoes not provide for automatically displaying different identifiers fordifferent contacts or different groups.

Aspects of the present invention include automatically switching auser's personalized identifiers intelligently based upon a determinationof the closeness of the personal relationship between the user and thecontact, so that an appropriate identifier can be displayed suitablyacross different groups and among different contacts.

In embodiments, an identifier library, comprised of a database, storespersonalized identifiers for the user which can include photos, logos,signatures, various locations, such as home or office address, and theuser's nationality. For each identifier provided in the identifierlibrary, an indication of the closeness of the relationship is provided,hereinafter referred to as a closeness factor.

In embodiments, an identifier selection module determines closenessfactors for each of the user's individual contacts. In addition, theidentifier selection module determines closeness factors for thedifferent groups which the user is a member of, based on the closenessfactors of the individuals making up the group, as well as other factorssuch as the current group topic, the group name or chat content. Inembodiments, when a change occurs in either the contact's category or aprivacy setting for the contact, the identifier selection modulere-determines the individual closeness factors for the contacts. Whenthere is a change in a group or the topic of the group, the identifierselection module re-determines the group closeness factor.

Advantageously, embodiments of the present invention provide technicalsolutions to the problem of managing a database, comprised of anidentifier library, to automatically provide appropriate selection ofidentifiers, such as photographs, to be displayed to a contact which theuser is communicating with via a computer device, over a communicationnetwork. In implementations, the system performs an unconventionaloperation of determining, by a computer device, a closeness factor of acontact to the user, matching, by the computer, the determined closenessfactor of the contact with an identifier having the same closenessfactor stored in the identifier library, which is comprised of adatabase, and displaying the matched identifier to the contact on aphysical display device. Aspects of the invention are implemented usingdevices and techniques that are necessarily rooted in computertechnology, such as managing the inputs and outputs of a computerdatabase, that have no pre-computer analog. Further, aspects of theinvention are implemented with particular physical devices, such asdisplay devices, and by using wireless communication between computerdevices of a user and the user's contacts.

The present invention may be a system, a method, and/or a computerprogram product at any possible technical detail level of integration.The computer program product may include a computer readable storagemedium (or media) having computer readable program instructions thereonfor causing a processor to carry out aspects of the present invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, configuration data for integrated circuitry, oreither source code or object code written in any combination of one ormore programming languages, including an object oriented programminglanguage such as Smalltalk, C++, or the like, and procedural programminglanguages, such as the “C” programming language or similar programminglanguages. The computer readable program instructions may executeentirely on the user's computer, partly on the user's computer, as astand-alone software package, partly on the user's computer and partlyon a remote computer or entirely on the remote computer or server. Inthe latter scenario, the remote computer may be connected to the user'scomputer through any type of network, including a local area network(LAN) or a wide area network (WAN), or the connection may be made to anexternal computer (for example, through the Internet using an InternetService Provider). In some embodiments, electronic circuitry including,for example, programmable logic circuitry, field-programmable gatearrays (FPGA), or programmable logic arrays (PLA) may execute thecomputer readable program instructions by utilizing state information ofthe computer readable program instructions to personalize the electroniccircuitry, in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the blocks may occur out of theorder noted in the Figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

It is understood in advance that although this disclosure includes adetailed description on cloud computing, implementation of the teachingsrecited herein are not limited to a cloud computing environment. Rather,embodiments of the present invention are capable of being implemented inconjunction with any other type of computing environment now known orlater developed.

Cloud computing is a model of service delivery for enabling convenient,on-demand network access to a shared pool of configurable computingresources (e.g. networks, network bandwidth, servers, processing,memory, storage, applications, virtual machines, and services) that canbe rapidly provisioned and released with minimal management effort orinteraction with a provider of the service. This cloud model may includeat least five characteristics, at least three service models, and atleast four deployment models.

Characteristics are as follows:

On-demand self-service: a cloud consumer can unilaterally provisioncomputing capabilities, such as server time and network storage, asneeded automatically without requiring human interaction with theservice's provider.

Broad network access: capabilities are available over a network andaccessed through standard mechanisms that promote use by heterogeneousthin or thick client platforms (e.g., mobile phones, laptops, and PDAs).

Resource pooling: the provider's computing resources are pooled to servemultiple consumers using a multi-tenant model, with different physicaland virtual resources dynamically assigned and reassigned according todemand. There is a sense of location independence in that the consumergenerally has no control or knowledge over the exact location of theprovided resources but may be able to specify location at a higher levelof abstraction (e.g., country, state, or datacenter).

Rapid elasticity: capabilities can be rapidly and elasticallyprovisioned, in some cases automatically, to quickly scale out andrapidly released to quickly scale in. To the consumer, the capabilitiesavailable for provisioning often appear to be unlimited and can bepurchased in any quantity at any time.

Measured service: cloud systems automatically control and optimizeresource use by leveraging a metering capability at some level ofabstraction appropriate to the type of service (e.g., storage,processing, bandwidth, and active user accounts). Resource usage can bemonitored, controlled, and reported providing transparency for both theprovider and consumer of the utilized service.

Service Models are as follows:

Software as a Service (SaaS): the capability provided to the consumer isto use the provider's applications running on a cloud infrastructure.The applications are accessible from various client devices through athin client interface such as a web browser (e.g., web-based e-mail).The consumer does not manage or control the underlying cloudinfrastructure including network, servers, operating systems, storage,or even individual application capabilities, with the possible exceptionof limited user-specific application configuration settings.

Platform as a Service (PaaS): the capability provided to the consumer isto deploy onto the cloud infrastructure consumer-created or acquiredapplications created using programming languages and tools supported bythe provider. The consumer does not manage or control the underlyingcloud infrastructure including networks, servers, operating systems, orstorage, but has control over the deployed applications and possiblyapplication hosting environment configurations.

Infrastructure as a Service (IaaS): the capability provided to theconsumer is to provision processing, storage, networks, and otherfundamental computing resources where the consumer is able to deploy andrun arbitrary software, which can include operating systems andapplications. The consumer does not manage or control the underlyingcloud infrastructure but has control over operating systems, storage,deployed applications, and possibly limited control of select networkingcomponents (e.g., host firewalls).

Deployment Models are as follows:

Private cloud: the cloud infrastructure is operated solely for anorganization. It may be managed by the organization or a third party andmay exist on-premises or off-premises.

Community cloud: the cloud infrastructure is shared by severalorganizations and supports a specific community that has shared concerns(e.g., mission, security requirements, policy, and complianceconsiderations). It may be managed by the organizations or a third partyand may exist on-premises or off-premises.

Public cloud: the cloud infrastructure is made available to the generalpublic or a large industry group and is owned by an organization sellingcloud services.

Hybrid cloud: the cloud infrastructure is a composition of two or moreclouds (private, community, or public) that remain unique entities butare bound together by standardized or proprietary technology thatenables data and application portability (e.g., cloud bursting forload-balancing between clouds).

A cloud computing environment is service oriented with a focus onstatelessness, low coupling, modularity, and semantic interoperability.At the heart of cloud computing is an infrastructure comprising anetwork of interconnected nodes.

Referring now to FIG. 1 , a schematic of an example of a cloud computingnode is shown. Cloud computing node 10 is only one example of a suitablecloud computing node and is not intended to suggest any limitation as tothe scope of use or functionality of embodiments of the inventiondescribed herein. Regardless, cloud computing node 10 is capable ofbeing implemented and/or performing any of the functionality set forthhereinabove.

In cloud computing node 10 there is a computer system/server 12, whichis operational with numerous other general purpose or special purposecomputing system environments or configurations. Examples of well-knowncomputing systems, environments, and/or configurations that may besuitable for use with computer system/server 12 include, but are notlimited to, personal computer systems, server computer systems, thinclients, thick clients, hand-held or laptop devices, multiprocessorsystems, microprocessor-based systems, set top boxes, programmableconsumer electronics, network PCs, minicomputer systems, mainframecomputer systems, and distributed cloud computing environments thatinclude any of the above systems or devices, and the like.

Computer system/server 12 may be described in the general context ofcomputer system executable instructions, such as program modules, beingexecuted by a computer system. Generally, program modules may includeroutines, programs, objects, components, logic, data structures, and soon that perform particular tasks or implement particular abstract datatypes. Computer system/server 12 may be practiced in distributed cloudcomputing environments where tasks are performed by remote processingdevices that are linked through a communications network. In adistributed cloud computing environment, program modules may be locatedin both local and remote computer system storage media including memorystorage devices.

As shown in FIG. 1 , computer system/server 12 in cloud computing node10 is shown in the form of a general-purpose computing device. Thecomponents of computer system/server 12 may include, but are not limitedto, one or more processors or processing units 16, a system memory 28,and a bus 18 that couples various system components including systemmemory 28 to processor 16.

Bus 18 represents one or more of any of several types of bus structures,including a memory bus or memory controller, a peripheral bus, anaccelerated graphics port, and a processor or local bus using any of avariety of bus architectures. By way of example, and not limitation,such architectures include Industry Standard Architecture (ISA) bus,Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, VideoElectronics Standards Association (VESA) local bus, and PeripheralComponent Interconnects (PCI) bus.

Computer system/server 12 typically includes a variety of computersystem readable media. Such media may be any available media that isaccessible by computer system/server 12, and it includes both volatileand non-volatile media, removable and non-removable media.

System memory 28 can include computer system readable media in the formof volatile memory, such as random access memory (RAM) 30 and/or cachememory 32. Computer system/server 12 may further include otherremovable/non-removable, volatile/non-volatile computer system storagemedia. By way of example only, storage system 34 can be provided forreading from and writing to a non-removable, non-volatile magnetic media(not shown and typically called a “hard drive”). Although not shown, amagnetic disk drive for reading from and writing to a removable,non-volatile magnetic disk (e.g., a “floppy disk”), and an optical diskdrive for reading from or writing to a removable, non-volatile opticaldisk such as a CD-ROM, DVD-ROM or other optical media can be provided.In such instances, each can be connected to bus 18 by one or more datamedia interfaces. As will be further depicted and described below,memory 28 may include at least one program product having a set (e.g.,at least one) of program modules that are configured to carry out thefunctions of embodiments of the invention.

Program/utility 40, having a set (at least one) of program modules 42,may be stored in memory 28 by way of example, and not limitation, aswell as an operating system, one or more application programs, otherprogram modules, and program data. Each of the operating system, one ormore application programs, other program modules, and program data orsome combination thereof, may include an implementation of a networkingenvironment. Program modules 42 generally carry out the functions and/ormethodologies of embodiments of the invention as described herein.

Computer system/server 12 may also communicate with one or more externaldevices 14 such as a keyboard, a pointing device, a display 24, etc.;one or more devices that enable a user to interact with computersystem/server 12; and/or any devices (e.g., network card, modem, etc.)that enable computer system/server 12 to communicate with one or moreother computing devices. Such communication can occur via Input/Output(I/O) interfaces 22. Still yet, computer system/server 12 cancommunicate with one or more networks such as a local area network(LAN), a general wide area network (WAN), and/or a public network (e.g.,the Internet) via network adapter 20. As depicted, network adapter 20communicates with the other components of computer system/server 12 viabus 18. It should be understood that although not shown, other hardwareand/or software components could be used in conjunction with computersystem/server 12. Examples, include, but are not limited to: microcode,device drivers, redundant processing units, external disk drive arrays,RAID systems, tape drives, and data archival storage systems, etc.

Referring now to FIG. 2 , illustrative cloud computing environment 50 isdepicted. As shown, cloud computing environment 50 comprises one or morecloud computing nodes 10 with which local computing devices used bycloud consumers, such as, for example, personal digital assistant (PDA)or cellular telephone 54A, desktop computer 54B, laptop computer 54C,and/or automobile computer system 54N may communicate. Nodes 10 maycommunicate with one another. They may be grouped (not shown) physicallyor virtually, in one or more networks, such as Private, Community,Public, or Hybrid clouds as described hereinabove, or a combinationthereof. This allows cloud computing environment 50 to offerinfrastructure, platforms and/or software as services for which a cloudconsumer does not need to maintain resources on a local computingdevice. It is understood that the types of computing devices 54A-N shownin FIG. 2 are intended to be illustrative only and that computing nodes10 and cloud computing environment 50 can communicate with any type ofcomputerized device over any type of network and/or network addressableconnection (e.g., using a web browser).

Referring now to FIG. 3 , a set of functional abstraction layersprovided by cloud computing environment 50 (FIG. 2 ) is shown. It shouldbe understood in advance that the components, layers, and functionsshown in FIG. 3 are intended to be illustrative only and embodiments ofthe invention are not limited thereto. As depicted, the following layersand corresponding functions are provided:

Hardware and software layer 60 includes hardware and softwarecomponents. Examples of hardware components include: mainframes 61; RISC(Reduced Instruction Set Computer) architecture based servers 62;servers 63; blade servers 64; storage devices 65; and networks andnetworking components 66. In some embodiments, software componentsinclude network application server software 67 and database software 68.

Virtualization layer 70 provides an abstraction layer from which thefollowing examples of virtual entities may be provided: virtual servers71; virtual storage 72; virtual networks 73, including virtual privatenetworks; virtual applications and operating systems 74; and virtualclients 75.

In one example, management layer 80 may provide the functions describedbelow. Resource provisioning 81 provides dynamic procurement ofcomputing resources and other resources that are utilized to performtasks within the cloud computing environment. Metering and Pricing 82provide cost tracking as resources are utilized within the cloudcomputing environment, and billing or invoicing for consumption of theseresources. In one example, these resources may comprise applicationsoftware licenses. Security provides identity verification for cloudconsumers and tasks, as well as protection for data and other resources.User portal 83 provides access to the cloud computing environment forconsumers and system administrators. Service level management 84provides cloud computing resource allocation and management such thatrequired service levels are met. Service Level Agreement (SLA) planningand fulfillment 85 provide pre-arrangement for, and procurement of,cloud computing resources for which a future requirement is anticipatedin accordance with an SLA.

Workloads layer 90 provides examples of functionality for which thecloud computing environment may be utilized. Examples of workloads andfunctions which may be provided from this layer include: mapping andnavigation 91; software development and lifecycle management 92; virtualclassroom education delivery 93; data analytics processing 94;transaction processing 95; and personalized identifier switching 96.

FIG. 4 shows a block diagram of an exemplary embodiment in accordancewith aspects of the invention. In this embodiment the personalizedidentifier switching 96 shown in FIG. 3 are implemented by an automatedpersonalized identifier switching system 400 which is provided for auser computer device 402. In embodiments, the automated personalizedidentifier switching system 400 includes an identifier library 404,comprised of a database operating as a profile personalized identifierlibrary, and an identifier selection module 406 structured to determineor calculate closeness factors for contacts of the user, incommunication with the user through, for example, a remote contactcomputer device 408. A display device 410 is provided for the contactcomputer device 408. Although this display device 410 is shown in FIG. 4as being separate from the contact computer device 408, it could, ofcourse, be incorporated into the contact computer device 408.

In embodiments, the identifier selection module 406 includes a contactslist 412 comprised of individual contacts and group contacts provided tothe identifier selection module 406 by the user computer device 402. Inalternative embodiments, the contacts list 412 is located in the usercomputer device 402, and is accessible by the identifier selectionmodule 406. In alternative embodiments, the contacts list 412 is in theuser computer device 402, and is accessible to the identifier selectionmodule 406. In embodiments, the user supplies data regarding identifiersand closeness factors directly to the identifier library 404. Inalternative embodiments, an image recognition and tagging module 418provides photos from an external photo library 416 and adds taggedinformation, including closeness factors.

In embodiments, the automated personalized identifier switching system400, as well as the user computer device 402 and the contact computerdevice 408, are computer devices having one or more components of thecomputer system/server 12 shown in FIG. 1 . In particular, the automatedpersonalized identifier switching system 400 includes one or moreprogram modules 42 shown in FIG. 1 to implement the operations describedbelow. In addition, according to aspects of the present invention, theautomated personalized identifier switching system 400 is designed tooperate in a cloud computing environment, such as shown in FIG. 2 , toconnect to remote servers via a cloud computing environment 50.

In embodiments, the user computer device 402 inputs initial data, e.g.,personalized identifiers of the user, such as photos, logos, signatures,locations and nationality, into the identifier library 404. The usercomputer device 402 also inputs data, hereinafter referred to ascloseness factors, regarding the closeness of the relationship for whichparticular identifiers are used. In embodiments, the user classifies thecloseness factors into levels of closeness, i.e., strong, medium strong,medium and weak, noting, of course, that alternative embodiments use adifferent number of levels for the closeness factors. In embodimentsusing the four levels of closeness, strong identifies family and othersimilar close affinity relationships, medium-strong identifies friends,classmates and similar close relationships, medium identifiescolleagues, customers, and similar business relationships, and weakidentifies strangers to the user.

As an example of the coordinated operation between the identifierselection module 406 and the identifier library 404, if the user decidesthat a particular photo being entered into the identifier library 404 isappropriate for a family member, the user tags that photo via the usercomputer device 402 with a closeness factor of “strong.” The identifierselection module 406 tags any contact which is a stranger to the user,as determined from the absence of the contact from the user's contactslist 412, as “weak.”

In an alternative embodiment, the image recognition and tagging module418 enters the external photo library 416 and adds tags regarding thecloseness factors into the identifier library 404. As such, theidentifier library 404 operates as an interface with the external photolibrary 416 via the image recognition and tagging module 418.Specifically, leveraging image recognition technology, the imagerecognition and tagging module 418 classifies photos stored in theexternal photo library 416 according to face images, topics, etc., andthen assigns tags to the classified photos. In embodiments, the tags arename-related and subject-related, for example, group photos, scenery,physical articles, etc. The identifier library 404 stores the photos andthe tags, with a corresponding closeness factor being associated witheach of the tags.

In embodiments, the identifier selection module 406 uses a strongcloseness factor to match the stored photo with contacts, such as familymembers, which the identifier selection module 406 tags as having astrong closeness factor. In embodiments, the user enters otheridentifiers, such as a more formal photograph, into the identifierlibrary 404 which the user determines to be appropriate for businesscontacts. In embodiments, the user tags this more formal photograph witha closeness factor of “medium.” The identifier selection module 406 thenmatches business contacts, communicating with the automated personalizedidentifier switching system 400 via the contact computer device 408,with a closeness factor of medium, and selects the more formalphotograph with the designated closeness factor of medium to transmit tothe contact computer device 408 to display on the display device 410. Inembodiments, the identifier selection module 404 performs the matchingoperation automatically, without the need for intervention by the userin performing the matching operation, which represents a significantadvantage of the present invention.

In accordance with aspects of the invention, the identifier selectionmodule 406 determines individual closeness factors for individualcontacts on the contacts list 412 regarding the contact's category andby privacy settings established by the user via the user computer device402. For example, in embodiments, the contact categories can includeimmediate family, other relatives, neighbors, friends, businessassociates, coworkers, and members of clubs which the user belongs to.In embodiments, the user establishes these contact categories, as wellas contact privacy settings, and enters these into contacts list 412 inthe identifier selection module 406 to allow the identifier selectionmodule 406 to determine appropriate closeness factors when itcommunicates with individual contacts via contact computer devices 408.The user sets the privacy settings into the identifier selection module406 for individual contacts on the contacts list 412 to allow somecontacts to see certain identifiers of the user, while prohibiting othercontacts from being able to view these identifiers.

In embodiments, the identifier selection module 406 also determinesgroup closeness factors for groups (e.g., chat groups) which the userbelongs to. To this end, the identifier selection module 406 firstexamines the closeness factors of each of the user's individual contactsthat are in the group as one element of the group closeness factor.Next, the identifier selection module 406 factors in elements such asthe current group topic, the group name and chat content, and combinesthis with the closeness factors of each of the user's individualcontacts in the group, to arrive at a group closeness factor, which isstored in the contacts list 412. This group closeness factor is thenused, in the manner described above for individual contact factors, toselect an appropriate identifier based on the level of the groupcloseness factor, i.e., strong, medium strong, medium or weak. Inalternative embodiments, the user provides information, includingcloseness factors, directly to the contacts list 412 for setting thegroup closeness factor to be used by the identifier selection module406.

In embodiments, the present invention provides for dynamic adjustmentsfor both individual contact closeness factors and group closenessfactors based on changes with regard to the individual contacts andgroups. For example, in embodiments, the identifier selection module 406changes the individual contact closeness factor when it receives anindication from the user computer device 402 that the user has changedthe contact category or contact privacy setting of an individualcontact. Similarly, the identifier selection module 406 changes thegroup closeness factor when a change is made to the group itself ortopics being considered by the group. For example, in embodiments, auser designates a group comprised initially of a small number of userswith a strong group closeness factor. However, in time, the size of thegroup increases, and, in this embodiment, the identifier selectionmodule 406 changes the group closeness factor to a medium groupcloseness factor in response to a request to do so by the user via theuser computer device 402.

In the embodiments discussed above, the individual contacts stored inthe identifier library 404 designate a one-to-one relationship betweenthe user and the individual contacts. As noted above, the individualcontacts are provided on a contacts list which is stored, for example,in the user computer device 402 or in a portion of the identifierlibrary 404 or the identifier selection module 406. The group closenessfactor, on the other hand, designates a one-to-many relationship betweenthe user and the group which, as noted above, is based on a combinationof the closeness factors of the individual contacts making up the groupand other factors, such as the topic of the group, the group name andchat content.

In embodiments, the automated personalized identifier switching system400 is connected to the user computer device 402 and contact computerdevices 408 remotely, for example, by cloud computing techniques, hasshown, for example, in FIGS. 2 and 3 . In alternative embodiments, theautomated personalized identifier switching system 400 is directlyconnected to one or both the user computer device 402 and/or the contactcomputer device 408 via a local connection, such as a Wi-Fi or LANconnection. In alternative environments, the automated personalizedidentifier switching system 400 is provided in the user computer device402 itself.

FIG. 5 shows an example of a profile 500 established by a user via theuser computer device 402 and stored in the identifier library 404. Inembodiments, the fields (e.g., Field 1, Field 2, etc.) relate to thetype of identifier being stored. For example, in embodiments, Field 1stores nicknames, Field 2 stores photos or logos, Field 3 storessignatures, or locations or nationalities, etc. The columns 504, 506,508 and 510 shown to the right of the fields column 502 store the actualidentifiers, together with the closeness factor. As an example, inembodiments, the user computer device 402 stores a first nickname in thelocation F1_value1,s/m/w in the first column 504, together with acloseness factor “strong” to allow the particular nickname to be used asthe user identifier with contacts which the user has a close personalrelationship with. In this embodiment, there are three levels ofcloseness, namely, strong, modest (which can also be referred to asmedium), and weak.

In the embodiments discussed above, the user directly controls the levelof the group closeness factor stored in the identifier library 404 andwith regard to the individual contacts and group contacts tagged by theidentifier selection module 406. However, in alternative embodiments,the identifier selection module 406 determines either or both ofcloseness factors for the individual contacts or groups based on presetcriteria. For example, in embodiments, the identifier selection module406 assigns closeness factors for family members based on the degree ofcloseness of the family member to the user, e.g., immediate family,aunts and uncles, first cousins, second cousins, etc. Similarly, inalternative embodiments, the user computer device 402 or the identifierlibrary 404 automatically assigns the closeness factors provided for theidentifiers stored in the identifier library 404 based on the presetcriteria, such as discussed above.

FIG. 6 depicts a flowchart of an exemplary method of operation of theidentifier selection module 406 in accordance with aspects of theinvention. The steps of the method are performed in the environment ofFIG. 4 and are described with reference to the elements and stepsdescribed with respect to FIGS. 2 and 3 .

At step 602, the user computer device 402 joins a chat group as a memberof the chat group. At step 604, the identifier selection module 406checks the closeness factor (which can also be referred to as “closedensity”) of each member of the chat group using the contact listprovided by the user computer device 402, and the closeness factors foreach member of the chat group provided by the user computer device 402.At step 606, the identifier selection module 406 routes thedetermination process along one of three different paths depending uponthe determined closeness factor for each of the members of the chatgroup.

Thus, at step 608, the identifier selection module 406 selectsparticular identifiers for a photo, a name and a signature and/orlocation, stored in the identifier library 404, which is comprised of adatabase, to be transmitted to the contact computer devices 408 of themembers of the chat group having a strong closeness factor for displayon their respective display devices 410. Similarly, at step 610, theidentifier selection module 406 selects a different photo, name andsignature and/or location for contacts in the chat group determined tohave a modest closeness factor. At step 612, the identifier selectionmodule 406 selects a different photo, name and signature and/or locationfor members of the chat group which are determined to be strangers(i.e., not on the contact list provided to the identifier selectionmodule 406), specifically, a photo, name and signature and/or locationappropriate for a stranger with a weak closeness factor.

FIG. 7 depicts a flowchart of an exemplary method of operation inaccordance with aspects of the invention. The steps of the method areperformed in the environment of FIG. 4 and are described with referenceto the elements and steps described with respect to FIGS. 2 and 3 .

At step 702, the user computer device 402 stores identifiers withcloseness factors in the identifier library 404, as described above withregard to FIG. 4 . At step 704, the identifier selection module 406determines closeness factors of individual and/or group contacts, asdiscussed above with regard to FIG. 4 . At step 706, the identifierselection module 406 matches the closeness factors of the individualand/or group contacts with closeness factors of the identifiers storedin the identifier library 404, comprised of a database, as discussedabove with regard to FIG. 4 . In embodiments, the identifier selectionmodule 406 automatically matches the closeness factors, without the needfor participation by the user in the selection of the appropriateidentifier during the matching process. At step 708, the systemtransmits the matched identifier to the contact for display on thedisplay of the contact computer device. In embodiments, and as describedwith respect to FIG. 4 , step 708 comprises the identifier selectionmodule 406 transmitting a matched identifier to the contact computerdevice 408, which then displays the matched identifier at the displaydevice 410. In step 710, the user determines if changes have occurred inindividual contacts or group contacts. For example, the user determineswhether a contact category or a contact privacy setting for anindividual contact has changed, or whether a group or the topicsconsidered by the group has changed. In step 712, the user computerdevice 402 makes changes regarding the levels of the closeness factorsfor stored identifiers in the identifier library 404 based on changeswith regard to the individual contacts or group contacts, as discussedabove with FIG. 4 . The user computer device 402 also makes changes, atstep 712, regarding the closeness factors stored in the contacts list412.

In embodiments, the term “identifier” used throughout pertains to arepresentation or embodiment of a person. As such, profile photographsare excellent identifiers since they generally provide immediaterecognition of the person being identified. It is noted, however, thatalthough the above description describes identifiers as includingphotos, as well as logos, signatures, locations and/or nationalities,the identifiers could include other types of identifiers used torepresent individual and/or group users, such as favorite music, colors,nicknames, favorite sayings, etc.

In embodiments, a service provider could offer to perform the processesdescribed herein. In this case, the service provider can create,maintain, deploy, support, etc., the computer infrastructure thatperforms the process steps of the invention for one or more customers.These customers may be, for example, any business that uses technology.In return, the service provider can receive payment from the customer(s)under a subscription and/or fee agreement and/or the service providercan receive payment from the sale of advertising content to one or morethird parties.

In still additional embodiments, the invention provides acomputer-implemented method, via a network. In this case, a computerinfrastructure, such as computer system/server 12 (FIG. 1 ), can beprovided and one or more systems for performing the processes of theinvention can be obtained (e.g., created, purchased, used, modified,etc.) and deployed to the computer infrastructure. To this extent, thedeployment of a system can comprise one or more of: (1) installingprogram code on a computing device, such as computer system/server 12(as shown in FIG. 1 ), from a computer-readable medium; (2) adding oneor more computing devices to the computer infrastructure; and (3)incorporating and/or modifying one or more existing systems of thecomputer infrastructure to enable the computer infrastructure to performthe processes of the invention.

The descriptions of the various embodiments of the present inventionhave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the describedembodiments. The terminology used herein was chosen to best explain theprinciples of the embodiments, the practical application or technicalimprovement over technologies found in the marketplace, or to enableothers of ordinary skill in the art to understand the embodimentsdisclosed herein.

What is claimed is:
 1. A system for automatically switching anidentifier of a user for display as the identifier of the user on acomputing device of a contact, comprising: a processor, a computerreadable memory, and a computer readable storage medium located in acomputer; program instructions associating a plurality of identifiers ofthe user in a database, wherein each of the identifiers has a differentcloseness factor of the user; program instructions to store theplurality of identifiers of the user in the database, wherein each ofthe identifiers has the different closeness factor of the user thanother identifiers of a same type stored in the database, wherein theplurality of identifiers include photos; program instructions to receivethe photos from an external photo library by an image recognition andtagging device; program instructions to classify the photos according totopics using the image recognition and tagging device; programinstructions to automatically select the identifier of the user withoutneed for intervention by the user for display as the identifier of theuser on the computing device of the contact in communication with theuser over the network comprising: program instructions to automaticallydetermine a closeness factor of the contact to the user, the determinedcloseness factor of the contact having the same closeness factor with anidentifier stored in the database comprised of the plurality ofdifferent types of identifiers of the user, the closeness factorindicative of a level of personal closeness of a relationship betweenthe user and the contact, the level including a strong level ofcloseness, a medium strong level of closeness, a medium level ofcloseness, and a weak level of closeness; and program instructions toautomatically match the determined closeness factor of the contact withthe identifier having the same closeness factor stored in the database;program instructions to automatically transmit the matched identifierfrom the database to the computing device of the contact incommunication over the network for display as the identifier of the useron the computing device, wherein the contact is one of a plurality ofcontacts forming a chat group which the user belongs to; programinstructions to automatically switch the identifier of the user incommunication over the network with the chat group comprising: programinstructions to automatically determine a group closeness factor for thechat group based on a combination of closeness factors of each contactmaking up the chat group and other factors including a topic of thegroup, a group name, and a chat content of the chat group; programinstructions to automatically check the closeness factors of eachcontact of the chat group using a user's contact list and the closenessfactors of each contact of the chat group; and program instructions toautomatically match the determined group closeness factor of the chatgroup with a different identifier having the same closeness factorstored in the database; and program instructions to automaticallytransmit the different identifier from the database to each computingdevice of each contact of the chat group in communication over thenetwork for display as the different identifier of the user on thecomputing device of each contact of the chat group, wherein the programinstructions are stored on the computer readable storage medium forexecution by the processor via the computer readable memory.
 2. Thesystem of claim 1, wherein: types of identifiers stored in the databasefurther include logos and signatures; and the photos are tagged withinformation, including the closeness factors, by the image recognitionand tagging device.
 3. The system of claim 1, wherein each of theidentifiers in the database has a corresponding closeness factor.
 4. Thesystem of claim 1, wherein the closeness factor is based on at least oneselected from a group consisting of: a category which the contactbelongs to; and a contact privacy setting assigned by the user to thecontact.
 5. The system of claim 4, wherein different closeness factorsare assigned to family members and personal friends than to businesscontacts.
 6. The system of claim 4, further comprising programinstructions to re-determine the closeness factor of the contact whenthe contact category or privacy setting is changed.
 7. The system ofclaim 1, wherein the contact is on the user's contact list.
 8. Thesystem of claim 7, further comprising program instructions to determinean absent contact from the user's contact list.
 9. The system of claim8, further comprising program instructions to tag the absent contactwith a weak closeness factor.
 10. The system of claim 9, wherein theclassified photos are classified according to images.
 11. The system ofclaim 10, further comprising program instructions to assign tags to theclassified photos.
 12. The system of claim 11, wherein the tags arename-related and subject-related.
 13. The system of claim 12, furthercomprising program instructions to store a profile of the user, wherein:the profile of the user includes a column containing a Field 1 storing anickname identifier, a Field 2 storing a logo identifier, and a Field 3storing a location, and the profile of the user further includes anadditional column storing closeness factors of the nickname identifier,the logo identifier, and the location identifier, and the additionalcolumns are adjacent to the column.
 14. The system of claim 13, whereinin response to the user joining the group, further comprising programinstructions to select particular identifiers for display on displaydevices of contact computers of the contacts in response to thecloseness factor of each contact of the group.
 15. The system of claim14, wherein: the photos are tagged with the closeness factors of eachcontact of the group by the image recognition and tagging device, thecloseness factors of each contact of the group include levels ofcloseness which include a strong level of closeness, a medium stronglevel of closeness, a medium level of closeness, and a weak level ofcloseness, and the strong closeness factor identifies family members ofthe user, the medium strong closeness factor identifies friends andclassmates of the user, the medium closeness factor identifiescolleagues and customers of the user, and a weak closeness factoridentifies strangers to the user.
 16. The system of claim 15, wherein: aphoto of the photos for a family member of the user is tagged with thestrong closeness factor; and a photo of the photos for a stranger to theuser is tagged with the weak closeness factor.
 17. A computer programproduct for automatically switching an identifier of a user for displayas the identifier of the user on a computing device of a contact, thecomputer program product comprising a computer readable storage mediumhaving program instructions embodied therewith, the program instructionsexecutable by a computer device to cause the computer device to:associate a plurality of different types of identifiers of the user in adatabase, wherein each of the identifiers has a different closenessfactor of the user; store in the database the plurality of differenttypes of identifiers of the user, wherein the plurality of differenttypes of identifiers of the user include photos; receive the photos froman external photo library by an image recognition and tagging device;classify the photos according to topics using the image recognition andtagging device; automatically select an identifier of the user withoutneed for intervention by the user for display as the identifier of theuser on the computing device of the contact in communication with theuser over the network comprising: automatically determine a closenessfactor of the contact to the user, the determined closeness factor ofthe contact having the same closeness factor with an identifier storedin the database comprised of the plurality of different types ofidentifiers of the user, the closeness factor indicative of a level ofpersonal closeness of a relationship between the user and the contact,the level including a strong level of closeness, a medium strong levelof closeness, a medium level of closeness, and a weak level ofcloseness; and automatically match the determined closeness factor ofthe contact with the identifier having the same closeness factor storedin a database comprised of the plurality of different types ofidentifiers of the user; automatically transmit the matched identifierfrom the database to the computing device of the contact incommunication over the network to display as the identifier of the useron the computing device, wherein the contact is one of a plurality ofcontacts forming a group which the user belongs to; automatically switchthe identifier of the user in communication over the network with thegroup comprising: automatically determine a group closeness factor whichis based on a combination of closeness factors of each contact making upthe group and other factors including a topic of the group, a groupname, and a chat content of the group; automatically check the closenessfactors of each contact of the group using a user's contact list and thecloseness factors of each contact of the group; and automatically matchthe determined group closeness factor of the group with a differentidentifier having the same closeness factor stored in the database; andautomatically transmit the different identifier from the database toeach computing device of each contact of the group in communication overthe network for display as the different identifier of the user on thecomputing device of each contact of the chat group, wherein at least twoof the plurality of identifiers in the database have different closenessfactors from one another.
 18. The computer program product of claim 17,wherein: the types of identifiers stored in the database include photos,logos, and signatures; and each of the identifiers in the database has acorresponding closeness factor.
 19. A system for automatically switchingan identifier of a user for display as the identifier of the user on acomputing device of a contact, comprising: a processor, a computerreadable memory, and a computer readable storage medium located in acomputer; program instructions associating a plurality of identifiers ofthe user in a database, wherein each of the identifiers has a differentcloseness factor of the user; program instructions to store theplurality of identifiers of the user in the database, wherein each ofthe identifiers has the different closeness factor of the user thanother identifiers of a same type stored in the database, wherein theplurality of identifiers include photos; program instructions to receivethe photos from an external photo library by an image recognition andtagging device; program instructions to classify the photos according totopics using the image recognition and tagging device; programinstructions to receive by the user computer device a contact list ofeach member of a chat group joined by the user of the computer device;program instructions to automatically select an identifier of the userwithout need for intervention by the user for display as the identifierof the user on a computing device of each of the members of the chatgroup in communication over a network comprising: program instructionsto automatically determine a group closeness factor of the chat group tothe user, the closeness factor determined by a combination of thecloseness factor for each member of the chat group and other factorsincluding a topic of the chat group, a chat group name, and a chatcontent of the chat group, the closeness factor indicative of a level ofpersonal closeness of a relationship between the user and a member ofthe chat group, the level including a strong level of closeness, amedium strong level of closeness, a medium level of closeness, and aweak level of closeness; and program instructions to automatically matchthe determined group closeness factor of the chat group with theidentifier having the same closeness factor stored in the database;program instruction to store the matched identifier for the chat groupin the database; program instructions to automatically transmit thematched identifier from the database to the computing device of each ofthe members of the chat group in communication over the network fordisplay as the identifier of the user on the computing device of each ofthe members of the chat group; program instructions to automaticallyswitch the identifier of the user in communication over the network withthe chat group comprising: program instructions to receive by the usercomputer device an indication of a change of membership in the contactlist of the chat group; program instructions to dynamically adjust thegroup closeness factors based on the change of membership in the contactlist of the chat group by automatically redetermining the groupcloseness factor of the chat group to the user, the closeness factordetermined by the combination of the closeness factor for each member ofthe chat group and other factors including the topic of the chat group,the chat group name, and the chat content of the chat group; programinstructions to automatically match the redetermined group closenessfactor of the chat group with another identifier having the samecloseness factor stored in the database; and program instruction toautomatically store the another identifier for the chat group in thedatabase; and program instructions to automatically transmit the anotheridentifier from the database to the computing device of each of themembers of the chat group in communication over a network for display asa replacement identifier of the user on the computing device of each ofthe members of the chat group.
 20. The system of claim 19, furthercomprising: program instructions to receive by the user computer devicean indication of a change of the topic of the chat group; and programinstructions to dynamically adjust the group closeness factors based onthe change of the topic of the chat group by automatically redeterminingthe group closeness factor of the chat group to the user, the closenessfactor determined by the combination of the closeness factor for eachmember of the chat group and other factors including the topic of thechat group, the chat group name, and the chat content of the chat group.